#include "foco.h"
#include "fv.h"

//Foco::siguienteIdLuz = GL_LIGHT0;

Foco::Foco()
{
    idLuz = GL_LIGHT0;
    posicion.setCoordenadas(0, 1, 1);
    direccion.setCoordenadas(0, -1, -1);
    colorAmbiental = Qt::white;
    colorDifuso = Qt::white;
    colorEspecular = Qt::white;
    anguloApertura = 1;
    atenuacion = 0;
}

Foco::~Foco()
{

}

void Foco::inicializar()
{
    glEnable(idLuz);
}

void Foco::aplicar()
{   
    //glEnable(GL_MULTISAMPLE);
    glLightfv(idLuz, GL_POSITION, FV(posicion));
    glLightfv(idLuz, GL_SPOT_DIRECTION, FV(direccion));
    glLightf(idLuz, GL_SPOT_CUTOFF, anguloApertura);
    glLightf(idLuz, GL_SPOT_EXPONENT, atenuacion);

    glLightfv(idLuz, GL_AMBIENT, FV(colorAmbiental));
    glLightfv(idLuz, GL_DIFFUSE, FV(colorDifuso));
    glLightfv(idLuz, GL_SPECULAR, FV(colorEspecular));
}
